<?php
/**
 * 框架全局初始化类
 * User: Chiang
 * Date: 2015/11/10
 * Time: 18:16
 */

namespace Core;


class AppInitialization
{
    public function __construct() {
        require_once '/config/config.php';  //载入全局配置文件
    }

    public function run() {

        //自动加载
        spl_autoload_register('Core\AppInitialization::autoLoad');
        //路由解析
        self::route();
    }

    /*
     * 自动加载
     */
    static public function autoLoad($class) {
        //处理自动加载
        require_once ROOT_PATH."/$class".'.php';
    }
    /*
     * 路由分发
     */
    protected function route() {
        //模块
        $model = strtolower(isset($_GET['m'])?$_GET['m']:'index').'Controller';
        //控制器
        $controller = strtolower(isset($_GET['c'])?$_GET['c']:'index').'Action';
        if(is_file(CONTROLLER."/$model.php")) {
            require_once(CONTROLLER."/$model.php");
            $app = new $model;
            $app->$controller();
        }else{ //无此模块重定向
            $redirect_dir = !empty(REDIRECT) ? REDIRECT : 'Core/include/404/404.html';  //是否定义重定向常量
            header('Location:'.$redirect_dir);
        }
    }
}